#include <stdio.h>
#include <stdlib.h>

void mult(int[][5], int n);
void disp(int[][5]);

void main()
{
    // 二维函数原型声明中的参数不需要行数，但需要列数。
    static int x[][5] = {
        {1, 2, 3, 4, 5},
        {6, 7, 8, 9, 10}};
    printf("Original matrix : \n");
    // 直接用二维数组作为函数参数时，必须使用地址，即使用a或者&a[0]。
    disp(x);
    mult(x, 3);
    printf("Multiplied by 3: \n");
    disp(x);
    system("pause");
}

// function mult：乘法
void mult(int a[][5], int n)
{
    int i, j;
    for (i = 0; i < 2; ++i)
        for (j = 0; j < 5; ++j)
            a[i][j] *= n;
}

// function disp：输出二维数组
void disp(int b[][5])
{
    int i, j;
    for (i = 0; i < 2; ++i)
    {
        for (j = 0; j < 5; ++j)
            printf("%5d", b[i][j]);
        printf("\n");
    }
}